package com.stdspringboot.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateUtil {

	/**
	 * 文档注释的作用（放在类上、方法的上面）：
	 * 1. 鼠标放到方法上，有提示
	 * 2. 可以生成api文档
	 *
	 *
	 * 比较2个日期
	 * @param startDate 开始日期
	 * @param endDate 结束日期
	 * @return 当开始日期 小于等于 结束日期时，返回true，否则返回false
	 * @throws ParseException
	 */
	public static boolean beforeAndEquals(String startDate,String endDate) throws ParseException{

		if(startDate.equals(endDate)){
			return true;
		}
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");//格式化日期、时间
		/*
		 * 将字符串类型的日期，解析成 Date 对象，String -> Date
		 *
		 * Thu Feb 10 00:00:00 CST 2022，有年月日，但是时分秒是0，因为没有传入时分秒
		 *
		 */
		Date start=sdf.parse(startDate);

		Date end=sdf.parse(endDate);

		boolean b=start.before(end);//开始日期在结束日期之前，返回true，否则返回false

		return b;

	}

	public static void main(String[] args) {
		//将字符串类型的日期，2022-02-10转成 Date对象
		//用Date进行比较，before、after
		String startDateStr="2022-02-21";
		String endDateStr="2022-02-22";

		try {
			boolean b = beforeAndEquals(startDateStr,endDateStr);
			System.out.println(b);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		//compareto稍微复杂；在日期后面加时间可行，但不太合理


	}
}
